package ar.com.age.distribuidora.presentacion.util;

import java.util.Map;

import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;

import ar.com.age.distribuidora.dominio.Usuario;
import ar.com.age.distribuidora.presentacion.controller.IndexBean;

public class ValidadorTipoUsuario {

	public static void validarSesion() {

		ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
		Map<String, Object> sessionMap = externalContext.getSessionMap();
		IndexBean sesion = (IndexBean) sessionMap.get("indexBean");

		if(sesion == null) {
			
			String url = "../errorPermisos.xhtml";
			Redireccionador.redireccionarA(url);
		}
	}
	
	
	public static void validarAdministrador() {

		ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
		Map<String, Object> sessionMap = externalContext.getSessionMap();
		IndexBean sesion = (IndexBean) sessionMap.get("indexBean");

		if(!sesion.getUsuario().getTipoUsuario().equals("A")) {

			String url = "../errorPermisos.xhtml";
			Redireccionador.redireccionarA(url);
		}
	}

	public static void validarGerente() {

		ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
		Map<String, Object> sessionMap = externalContext.getSessionMap();
		IndexBean sesion = (IndexBean) sessionMap.get("indexBean");

		if(!sesion.getUsuario().getTipoUsuario().equals("A"))
			if(!sesion.getUsuario().getTipoUsuario().equals("G")) {

				String url = "../errorPermisos.xhtml";
				Redireccionador.redireccionarA(url);
			}
	}

	public static void validarEmpleadoVenta() {

		ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
		Map<String, Object> sessionMap = externalContext.getSessionMap();
		IndexBean sesion = (IndexBean) sessionMap.get("indexBean");

		if(!sesion.getUsuario().getTipoUsuario().equals("A"))
			if(!sesion.getUsuario().getTipoUsuario().equals("EV")) {

				String url = "../errorPermisos.xhtml";
				Redireccionador.redireccionarA(url);
			}
	}

	public static void validarEmpleadoCompra() {

		ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
		Map<String, Object> sessionMap = externalContext.getSessionMap();
		IndexBean sesion = (IndexBean) sessionMap.get("indexBean");

		if(!sesion.getUsuario().getTipoUsuario().equals("A"))
			if(!sesion.getUsuario().getTipoUsuario().equals("EC")) {

				String url = "../errorPermisos.xhtml";
				Redireccionador.redireccionarA(url);
			}
	}
	
	public static void validarEmpleado() {

		ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
		Map<String, Object> sessionMap = externalContext.getSessionMap();
		IndexBean sesion = (IndexBean) sessionMap.get("indexBean");

		if(!sesion.getUsuario().getTipoUsuario().equals("A"))
			if(!sesion.getUsuario().getTipoUsuario().equals("EC") && !sesion.getUsuario().getTipoUsuario().equals("EV")) {

				String url = "../errorPermisos.xhtml";
				Redireccionador.redireccionarA(url);
			}
	}
	
	public static Usuario getUsuarioLogueado() {
		
		ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
		Map<String, Object> sessionMap = externalContext.getSessionMap();
		IndexBean sesion = (IndexBean) sessionMap.get("indexBean");
		
		return sesion.getUsuario();
	}
}
